package sv.org.auditoria.renta.bean;

import sv.org.auditoria.renta.entity.Declaraciones;
import java.io.Serializable;
import java.util.Calendar;
import javax.annotation.PostConstruct;
import javax.faces.event.ActionEvent;
import javax.inject.Named;
import javax.inject.Inject;
import javax.faces.view.ViewScoped;
import org.primefaces.event.FlowEvent;
import sv.org.auditoria.renta.entity.Contribuyente;

@Named(value = "declaracionesController")
@ViewScoped
public class DeclaracionesController extends AbstractController<Declaraciones> implements Serializable {

    @Inject
    private DeclaracionesFacade ejbFacade;
    private Contribuyente contribuyenteSeleccionado;
    private boolean escaparFlujoAsistente;

    public DeclaracionesController() {
        super(Declaraciones.class);
    }

    @PostConstruct
    public void init() {
        super.setFacade(ejbFacade);
    }

    @Override
    public void saveNew(ActionEvent event) {
        super.getSelected().setFechadeclaracion(Calendar.getInstance().getTime());
        super.saveNew(event); 
    }

    @Override
    public Declaraciones prepareCreate(ActionEvent event) {
        contribuyenteSeleccionado = new Contribuyente();
        return super.prepareCreate(event);  
    }
    
    
    
    
    public String sobreProcesoDeclaracion(FlowEvent event) {
        
        if(escaparFlujoAsistente) {
            escaparFlujoAsistente = false;   //reset in case user goes back
            return "confirmar";
        }
        else {
            return event.getNewStep();
        }
    }

    public boolean isEscaparFlujoAsistente() {
        return escaparFlujoAsistente;
    }

    public void setEscaparFlujoAsistente(boolean escaparFlujoAsistente) {
        this.escaparFlujoAsistente = escaparFlujoAsistente;
    }

    public Contribuyente getContribuyenteSeleccionado() {
        return contribuyenteSeleccionado;
    }

    public void setContribuyenteSeleccionado(Contribuyente contribuyenteSeleccionado) {
        this.contribuyenteSeleccionado = contribuyenteSeleccionado;
    }
    
    
    
    
    
}
